home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).adf
/
GFA.Beispiel
/
MAUSZEIGER.LST
< prev
next >
Wrap
File List
|
1992-09-14
|
3KB
|
101 lines
REM ************************************
REM * Mauszeiger V 1.00 (c) 24.11.1991 *
REM * by Henry König, Bornheide 71 *
REM * 2000 Hamburg 53 *
REM ************************************
REM
init ! Bildschirm und Fenster öffnen
mausanlegen ! Maus anlegen und Einbinden
PRINT "Mausdemo mit beliebiger Taste starten."
INPUT x$
maus.demo ! nur für Demo, kann weggelassen werden
PRINT "Maus abschalten mit beliebiger Taste."
INPUT x$
mausabschalten ! alten Mauszeiger wieder herstellen
CLOSEW #nr% ! Fenster schließen
CLOSES nr% ! Screen schließen
END
> PROCEDURE maus.demo ! Maus bewegen
simpspr%=mspeicher1%+100
LPOKE simpspr%,mspeicher1%
DPOKE simpspr%+4,mhoehe%
DPOKE simpspr%+6,0
DPOKE simpspr%+8,0
DPOKE simpspr%+10,1
sn%=1
sn%=GetSprite(simpspr%,sn%)
viewport%=LPEEK(WINDOW(nr%)+46)+44
my%=120
FOR mx%=1 TO 550
~MoveSprite(viewport%,simpspr%,mx%,my%)
NEXT mx%
FOR mx%=550 DOWNTO 1
~MoveSprite(viewport%,simpspr%,mx%,my%)
NEXT mx%
RETURN
> PROCEDURE mausabschalten ! alten Mauszeiger wieder benutzen
~FreeSprite(sn%) ! Sprite löschen
~ClearPointer(WINDOW(nr%)) ! Systemmauszeiger (Preferences) setzen
~FreeMem(mspeicher1%,112) ! reservierten Speicher wieder freigeben
RETURN
> PROCEDURE mausanlegen ! Maus anlegen
block%=2^1+2^16
mspeicher%=AllocMem(112,block%)
IF mspeicher%=0 THEN
PRINT "Speicherreservierung fehlgeschlagen"
STOP
ELSE
mspeicher1%=mspeicher%
READ mbreite%,mhoehe%,tiefe%
FOR x=1 TO mhoehe%
READ a$
CLR mplane1
CLR mplane2
FOR i=1 TO mbreite%
zeichen$=MID$(a$,i,1)
IF zeichen$="1" OR zeichen$="3" THEN
mplane1=mplane1+2^(16-i)
ENDIF
IF zeichen$="2" OR zeichen$="3" THEN
mplane2=mplane2+2^(16-i)
ENDIF
NEXT i
DPOKE mspeicher%,mplane1
DPOKE mspeicher%+2,mplane2
ADD mspeicher%,4
NEXT x
DPOKE mspeicher1%+100,248
DPOKE mspeicher1%+102,248
~SetPointer(WINDOW(nr%),mspeicher1%,mhoehe%,mbreite%,248,248)
ENDIF
RETURN
> PROCEDURE maus.daten ! Ausehen der Maus
DATA 16
DATA 16
DATA 2
DATA ----------------
DATA 11--11----22---2
DATA 11--11----22--22
DATA 11--11----22--22
DATA 11--11----22--2-
DATA 11--11----22-22-
DATA 11--11----22-22-
DATA 111111----222---
DATA 111111----222---
DATA 11--11----22-22-
DATA 11--11----22-22-
DATA 11--11----22--2-
DATA 11--11----22--22
DATA 11--11----22--22
DATA 11--11----22---2
DATA ----------------
RETURN
> PROCEDURE init ! Initialisierung
breite%=640 ! Fensterbreite
hoehe%=256 ! Fensterhöhe
ebenen%=2 ! Anzahl der Bitplanes
nr%=1 ! Fensternummer
OPENS nr%,0,0,breite%,hoehe%,ebenen%,&H8000
OPENW #nr%,0,0,breite%,hoehe%,&H18,&H1800,nr%
RETURN